package com.zimmur.app.mocolink.dao;

import com.zimmur.app.mocolink.domain.model.RefundOrder;
import com.zimmur.app.mocolink.domain.model.RefundOrderExample;
import com.zimmur.app.mocolink.domain.param.RefundParam;
import com.zimmur.app.mocolink.domain.vo.RefundOrderInfo;
import com.zimmur.app.mocolink.domain.vo.RefundOrderVo;
import com.zimmur.app.mocolink.domain.vo.RefundOrderVoForManage;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface RefundOrderMapper {
    int countByExample(RefundOrderExample example);

    int deleteByExample(RefundOrderExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(RefundOrder record);

    int insertSelective(RefundOrder record);

    List<RefundOrder> selectByExample(RefundOrderExample example);

    RefundOrder selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") RefundOrder record, @Param("example") RefundOrderExample example);

    int updateByExample(@Param("record") RefundOrder record, @Param("example") RefundOrderExample example);

    int updateByPrimaryKeySelective(RefundOrder record);

    int updateByPrimaryKey(RefundOrder record);
    /**
     * 分页查询用户售后单信息
     *@Description
     *@param first
     *@param size
     *@param userId
     *@return 
     *@author zcx
     *@Time 2017年10月16日 下午4:40:33
     */
    List<RefundOrderVo> selectByUserId(@Param("first")Integer first,@Param("size")Integer size,@Param("userId")Integer userId);
    /**
     * 统计用户售后单
     *@Description
     *@param userId
     *@return 
     *@author zcx
     *@Time 2017年10月16日 下午4:41:59
     */
    int countByUserId(@Param("userId")Integer userId);
    /**
     * 条件查询——管理后台
     *@Description
     *@param param
     *@return 
     *@author zcx
     *@Time 2017年10月27日 上午10:08:24
     */
    List<RefundOrderInfo> selectByParam(RefundParam param);
    /**
     * 条件统计——管理后台
     *@Description
     *@param param
     *@return 
     *@author zcx
     *@Time 2017年10月27日 上午10:08:42
     */
    int countByParam(RefundParam param);
    /**
     * 查询售后单详情
     *@Description
     *@param refundId
     *@return 
     *@author zcx
     *@Time 2017年10月31日 上午9:43:51
     */
    RefundOrderVoForManage selectVoByRefundId(@Param("refundId")Integer refundId);
}